package com.wcs.exam.controller.auth.req;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;

/**
 * <p>
 * Auth-用户考勤-请求参数
 * </p>
 *
 * @author wcs
 * @since 2024-07-17
 */
@Getter
@Setter
@Accessors(chain = true)
@Schema(description = "Auth-用户考勤-请求参数")
public class AuthUserAttendanceCheckReq implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @NotNull(message = "resource.user.attendance.attendance.type.not.null")
    @Schema(description = "考勤类型(1:模拟考试、2:正式考试、3:课时学习/考试)", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer attendanceType;

    @Schema(description = "考勤客户端(1:PC端、2:H5端、3:微信H5端、4:小程序、5:APP)-默认：1")
    private Integer attendanceClient;

    @Schema(description = "考勤考试场景(1:开考前、2:答题时抓拍、3:答题时高灵敏度人脸监测)-默认：1")
    private Integer attendanceExamScene;

    @Schema(description = "关联ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long relateId;

    @Schema(description = "课时ID")
    private Long periodId;

    @Schema(description = "记录ID-注意：考试时，除类型：正式考试或场景为：开考前外不能为空；模拟考试为空时，不返回(考前人脸校验结果、考前错误次数、抓拍错误次数)")
    private Long recordId;

    @Schema(description = "考勤内容(1:人脸识别时不能为空；2:人脸识别(【微信H5端】为对应的业务ID、【APP】为对应的订单编号、其他客户端时为对应的人脸视频的Base64编码内容)")
    private String content;


}
